package org.csu.jpetstore_front.service;

import org.csu.jpetstore_front.common.CommonResponse;
import org.csu.jpetstore_front.entity.Category;
import org.csu.jpetstore_front.entity.Item;
import org.csu.jpetstore_front.entity.Product;
import org.csu.jpetstore_front.entity.spartproduct;
import org.csu.jpetstore_front.vo.ItemVO;
import org.csu.jpetstore_front.vo.SproductVO;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;
import java.util.Map;

public interface CatalogService {
    CommonResponse<List<Category>> getCategoryList();

    CommonResponse<Category> getCategory(String categoryId);

    CommonResponse<Product> getProduct(String productId);

    CommonResponse<List<Product>> getProductListByCategory(String categoryId);

    CommonResponse<List<Product>> searchProductList(String keyword);

    CommonResponse<List<ItemVO>> getItemListByProduct(String productId) ;

    CommonResponse<ItemVO> getItem(String itemId) ;

    CommonResponse<Boolean> isItemInStock(String itemId) ;

    CommonResponse<List<ItemVO>> getAllItems();

    CommonResponse<List<SproductVO>> getproduct_item();

    CommonResponse<List<ItemVO>> getItemsByCategoryId(@PathVariable("category") String categoryId);
}
